﻿#region using statements

using System;

#endregion

namespace XNAGameEngine.GUI
{
    public interface IManagerGUI
    {
        /// <summary>
        /// Load a specific GUILayout
        /// </summary>
        /// <param name="name">name of the GUILayout to load. Must 
        /// already be registered with the manager</param>
        void LoadGUILayout(string name);

        /// <summary>
        /// Unload the currently loaded GUILayout
        /// </summary>
        void UnloadGUILayout();

        /// <summary>
        /// Registers a GUILayout object with this manager and maps a string to it
        /// </summary>
        /// <param name="key">the string to map to the GUILayout</param>
        /// <param name="guiLayoutType">the GUILayout being mapped</param>
        void RegisterGUILayout(string key, Type guiLayoutType);

        /// <summary>
        /// Returns the name of the current GUILayout
        /// </summary>
        /// <returns>the name of the GUILayout</returns>
        string GetGUILayoutName();
    }
}